2024-10-10 00:10:10,688 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-10 00:10:13,417 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-10 00:10:13,417 - INFO - Using cuda device
2024-10-10 17:09:08,224 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-10 17:09:10,671 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-10 17:09:10,671 - INFO - Using cuda device
2024-10-10 17:40:26,404 - INFO - Epoch: 0/100. Training time: 1491.495
2024-10-10 17:40:26,423 - INFO - Training Metrics...
2024-10-10 17:40:26,423 - INFO - {'loss': 0.8725254151034237, 'f1': 55.43452704988615, 'acc': 66.3938070416619, 'precision': 54.8576676826715, 'recall': 67.45365870835603, 'balanced acc': 67.45365870835603}
2024-10-10 17:40:26,423 - INFO - Validation Metrics... Inference time: 384.237
2024-10-10 17:40:26,423 - INFO - {'loss': 0.5526871283849081, 'f1': 68.14001798466478, 'acc': 80.7576189390485, 'precision': 65.33922507631809, 'recall': 78.09037776008091, 'balanced acc': 78.09037776008091}
2024-10-10 17:40:26,423 - INFO - ==================================================
2024-10-10 20:13:48,672 - INFO - Epoch: 5/100. Training time: 1458.855
2024-10-10 20:13:48,691 - INFO - Training Metrics...
2024-10-10 20:13:48,691 - INFO - {'loss': 0.47281599543952, 'f1': 70.53012029159885, 'acc': 82.28639687631265, 'precision': 67.92799847255482, 'recall': 81.30530953187925, 'balanced acc': 81.30530953187925}
2024-10-10 20:13:48,691 - INFO - Validation Metrics... Inference time: 381.906
2024-10-10 20:13:48,691 - INFO - {'loss': 0.43068913092800215, 'f1': 73.53037000585547, 'acc': 85.42865557075542, 'precision': 70.89499611880119, 'recall': 81.40082133573827, 'balanced acc': 81.40082133573827}
2024-10-10 20:13:48,691 - INFO - ==================================================
2024-10-10 22:47:07,114 - INFO - Epoch: 10/100. Training time: 1442.850
2024-10-10 22:47:07,140 - INFO - Training Metrics...
2024-10-10 22:47:07,140 - INFO - {'loss': 0.4576689407156019, 'f1': 70.9292801449943, 'acc': 82.81402986214536, 'precision': 67.98921651726667, 'recall': 81.67071073807529, 'balanced acc': 81.67071073807529}
2024-10-10 22:47:07,140 - INFO - Validation Metrics... Inference time: 372.494
2024-10-10 22:47:07,140 - INFO - {'loss': 0.40537263306916926, 'f1': 75.4051360888209, 'acc': 86.81845645234839, 'precision': 72.39341811517235, 'recall': 83.99869840527029, 'balanced acc': 83.99869840527029}
2024-10-10 22:47:07,140 - INFO - ==================================================
2024-10-14 14:09:59,707 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-14 14:10:02,405 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-14 14:10:02,405 - INFO - Using cuda device
2024-10-14 14:10:02,562 - INFO - Training parameters restored at epoch 11
2024-10-14 16:44:43,494 - INFO - Epoch: 15/100. Training time: 1479.612
2024-10-14 16:44:43,524 - INFO - Training Metrics...
2024-10-14 16:44:43,525 - INFO - {'loss': 0.4190487626738149, 'f1': 72.49855645213403, 'acc': 84.0645883453622, 'precision': 69.46809415715701, 'recall': 83.15220753951795, 'balanced acc': 83.15220753951795}
2024-10-14 16:44:43,525 - INFO - Validation Metrics... Inference time: 373.490
2024-10-14 16:44:43,525 - INFO - {'loss': 0.3794811514078402, 'f1': 74.37451181074421, 'acc': 86.90346177230582, 'precision': 71.60117208554337, 'recall': 83.04614433847397, 'balanced acc': 83.04614433847397}
2024-10-14 16:44:43,525 - INFO - ==================================================
2024-10-14 19:18:49,974 - INFO - Epoch: 20/100. Training time: 1477.032
2024-10-14 19:18:49,990 - INFO - Training Metrics...
2024-10-14 19:18:49,990 - INFO - {'loss': 0.4320966196177628, 'f1': 71.91975079817159, 'acc': 84.04128479780044, 'precision': 69.53594514717058, 'recall': 82.16791977782036, 'balanced acc': 82.16791977782036}
2024-10-14 19:18:49,991 - INFO - Validation Metrics... Inference time: 372.320
2024-10-14 19:18:49,991 - INFO - {'loss': 0.449405312538147, 'f1': 72.5040067879969, 'acc': 85.96055631554947, 'precision': 68.93841201135457, 'recall': 81.70836023138733, 'balanced acc': 81.70836023138733}
2024-10-14 19:18:49,991 - INFO - ==================================================
2024-10-14 21:52:52,219 - INFO - Epoch: 25/100. Training time: 1474.056
2024-10-14 21:52:52,261 - INFO - Training Metrics...
2024-10-14 21:52:52,261 - INFO - {'loss': 0.39765353889888144, 'f1': 72.93506548819794, 'acc': 84.78499828159009, 'precision': 70.05373031050081, 'recall': 83.01933034585038, 'balanced acc': 83.01933034585038}
2024-10-14 21:52:52,261 - INFO - Validation Metrics... Inference time: 371.911
2024-10-14 21:52:52,261 - INFO - {'loss': 0.396859617209902, 'f1': 74.21199436624963, 'acc': 85.74899300805595, 'precision': 71.80380060343562, 'recall': 83.33776336861663, 'balanced acc': 83.33776336861663}
2024-10-14 21:52:52,262 - INFO - ==================================================
2024-10-22 17:51:16,721 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-22 17:51:19,007 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-22 17:51:19,007 - INFO - Using cuda device
2024-10-22 17:51:19,174 - INFO - Training parameters restored at epoch 30
2024-10-22 18:22:36,594 - INFO - Epoch: 30/100. Training time: 1496.753
2024-10-22 18:22:36,664 - INFO - Training Metrics...
2024-10-22 18:22:36,664 - INFO - {'loss': 0.38923404178595894, 'f1': 73.37709420036775, 'acc': 85.221488715775, 'precision': 70.48517822390797, 'recall': 83.34919390329077, 'balanced acc': 83.34919390329077}
2024-10-22 18:22:36,664 - INFO - Validation Metrics... Inference time: 380.665
2024-10-22 18:22:36,664 - INFO - {'loss': 0.3599795132291083, 'f1': 75.67490357553748, 'acc': 86.79273065815474, 'precision': 73.8870084292447, 'recall': 83.91930035825771, 'balanced acc': 83.91930035825771}
2024-10-22 18:22:36,664 - INFO - ==================================================
2024-10-22 20:56:29,611 - INFO - Epoch: 35/100. Training time: 1478.368
2024-10-22 20:56:29,623 - INFO - Training Metrics...
2024-10-22 20:56:29,624 - INFO - {'loss': 0.38392092647223636, 'f1': 73.34600219408132, 'acc': 84.76383319967921, 'precision': 70.08617511284554, 'recall': 84.13860836276086, 'balanced acc': 84.13860836276086}
2024-10-22 20:56:29,624 - INFO - Validation Metrics... Inference time: 373.002
2024-10-22 20:56:29,624 - INFO - {'loss': 0.3683611645418055, 'f1': 75.9661383459088, 'acc': 87.87072503419974, 'precision': 73.19121178306666, 'recall': 83.57103973217033, 'balanced acc': 83.57103973217033}
2024-10-22 20:56:29,624 - INFO - ==================================================
2024-10-22 23:31:05,288 - INFO - Epoch: 40/100. Training time: 1480.765
2024-10-22 23:31:05,314 - INFO - Training Metrics...
2024-10-22 23:31:05,314 - INFO - {'loss': 0.3954413666807372, 'f1': 72.7195198477899, 'acc': 84.35184919998474, 'precision': 69.90219978613761, 'recall': 83.52934491498988, 'balanced acc': 83.52934491498988}
2024-10-22 23:31:05,314 - INFO - Validation Metrics... Inference time: 378.849
2024-10-22 23:31:05,314 - INFO - {'loss': 0.387787602111405, 'f1': 75.41377129860348, 'acc': 86.79706262349902, 'precision': 72.24111776763502, 'recall': 84.28692116186342, 'balanced acc': 84.28692116186342}
2024-10-22 23:31:05,314 - INFO - ==================================================
2024-10-23 15:59:22,681 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-23 15:59:25,156 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-23 15:59:25,156 - INFO - Using cuda device
2024-10-23 15:59:25,295 - INFO - Training parameters restored at epoch 34
2024-10-23 17:01:59,224 - INFO - Epoch: 35/100. Training time: 1492.631
2024-10-23 17:01:59,249 - INFO - Training Metrics...
2024-10-23 17:01:59,250 - INFO - {'loss': 0.3895609502134652, 'f1': 73.40274802377334, 'acc': 85.17868121587045, 'precision': 70.27820240576499, 'recall': 83.6234716734363, 'balanced acc': 83.6234716734363}
2024-10-23 17:01:59,250 - INFO - Validation Metrics... Inference time: 375.826
2024-10-23 17:01:59,250 - INFO - {'loss': 0.38484779818385256, 'f1': 74.79751411299783, 'acc': 86.57069843441253, 'precision': 71.49127661732791, 'recall': 83.42333782214692, 'balanced acc': 83.42333782214692}
2024-10-23 17:01:59,250 - INFO - ==================================================
2024-10-23 19:36:44,904 - INFO - Epoch: 40/100. Training time: 1468.477
2024-10-23 19:36:44,921 - INFO - Training Metrics...
2024-10-23 19:36:44,921 - INFO - {'loss': 0.39643514347193864, 'f1': 72.88861938069478, 'acc': 85.43497250544164, 'precision': 70.40984206812594, 'recall': 81.90257244114659, 'balanced acc': 81.90257244114659}
2024-10-23 19:36:44,921 - INFO - Validation Metrics... Inference time: 375.315
2024-10-23 19:36:44,921 - INFO - {'loss': 0.36479833546806784, 'f1': 75.75780667449808, 'acc': 87.36519607843137, 'precision': 72.99098704943025, 'recall': 83.46277411730792, 'balanced acc': 83.46277411730792}
2024-10-23 19:36:44,922 - INFO - ==================================================
2024-10-23 22:09:56,643 - INFO - Epoch: 45/100. Training time: 1447.206
2024-10-23 22:09:56,661 - INFO - Training Metrics...
2024-10-23 22:09:56,661 - INFO - {'loss': 0.38133541512959107, 'f1': 74.0977363059047, 'acc': 85.73659162943444, 'precision': 70.92727224231086, 'recall': 84.22660043792618, 'balanced acc': 84.22660043792618}
2024-10-23 22:09:56,661 - INFO - Validation Metrics... Inference time: 369.556
2024-10-23 22:09:56,661 - INFO - {'loss': 0.4014632894712336, 'f1': 75.2106817239816, 'acc': 85.76768885848912, 'precision': 72.2766444560364, 'recall': 85.03534649436205, 'balanced acc': 85.03534649436205}
2024-10-23 22:09:56,661 - INFO - ==================================================
2024-10-24 16:41:03,757 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-24 16:41:06,498 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-24 16:41:06,498 - INFO - Using cuda device
2024-10-24 16:41:06,715 - INFO - Training parameters restored at epoch 42
2024-10-24 18:46:58,569 - INFO - Epoch: 45/100. Training time: 1509.691
2024-10-24 18:46:58,659 - INFO - Training Metrics...
2024-10-24 18:46:58,659 - INFO - {'loss': 0.3837278021380232, 'f1': 73.56659381762015, 'acc': 85.71491579791498, 'precision': 70.31153561417224, 'recall': 83.39939795074268, 'balanced acc': 83.39939795074268}
2024-10-24 18:46:58,659 - INFO - Validation Metrics... Inference time: 378.863
2024-10-24 18:46:58,659 - INFO - {'loss': 0.35886889812993067, 'f1': 75.5699863112194, 'acc': 87.38723590211278, 'precision': 72.64538881174951, 'recall': 83.56223441849025, 'balanced acc': 83.56223441849025}
2024-10-24 18:46:58,659 - INFO - ==================================================
2024-10-24 21:21:53,082 - INFO - Epoch: 50/100. Training time: 1482.470
2024-10-24 21:21:53,125 - INFO - Training Metrics...
2024-10-24 21:21:53,125 - INFO - {'loss': 0.37079113795252266, 'f1': 74.10827575832562, 'acc': 85.61017394126858, 'precision': 71.0234402571184, 'recall': 84.34274749211127, 'balanced acc': 84.34274749211127}
2024-10-24 21:21:53,125 - INFO - Validation Metrics... Inference time: 372.925
2024-10-24 21:21:53,125 - INFO - {'loss': 0.38879549386454565, 'f1': 75.66782097069313, 'acc': 87.45840933272532, 'precision': 72.26281718766005, 'recall': 83.90283183003598, 'balanced acc': 83.90283183003598}
2024-10-24 21:21:53,125 - INFO - ==================================================
2024-10-24 23:56:53,662 - INFO - Epoch: 55/100. Training time: 1487.568
2024-10-24 23:56:53,685 - INFO - Training Metrics...
2024-10-24 23:56:53,685 - INFO - {'loss': 0.3823551567904468, 'f1': 73.33701949630152, 'acc': 85.4028573337916, 'precision': 70.11781872626852, 'recall': 83.50437298249383, 'balanced acc': 83.50437298249383}
2024-10-24 23:56:53,685 - INFO - Validation Metrics... Inference time: 376.629
2024-10-24 23:56:53,685 - INFO - {'loss': 0.38657212140513403, 'f1': 74.60075384980233, 'acc': 86.56686046511628, 'precision': 71.16983606432655, 'recall': 83.58177881872912, 'balanced acc': 83.58177881872912}
2024-10-24 23:56:53,685 - INFO - ==================================================
2024-10-25 14:31:28,241 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-25 14:31:30,483 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-25 14:31:30,483 - INFO - Using cuda device
2024-10-25 14:31:30,704 - INFO - Training parameters restored at epoch 50
2024-10-25 15:02:52,072 - INFO - Epoch: 50/100. Training time: 1498.968
2024-10-25 15:02:52,115 - INFO - Training Metrics...
2024-10-25 15:02:52,115 - INFO - {'loss': 0.3724974724165912, 'f1': 74.26256762273337, 'acc': 86.08285599725053, 'precision': 71.1782888477676, 'recall': 83.9980197822001, 'balanced acc': 83.9980197822001}
2024-10-25 15:02:52,116 - INFO - Validation Metrics... Inference time: 382.398
2024-10-25 15:02:52,116 - INFO - {'loss': 0.3882094124952952, 'f1': 75.39010833279241, 'acc': 86.14751481988144, 'precision': 72.13158557592917, 'recall': 84.94126349854398, 'balanced acc': 84.94126349854398}
2024-10-25 15:02:52,116 - INFO - ==================================================
2024-10-25 17:37:36,010 - INFO - Epoch: 55/100. Training time: 1482.623
2024-10-25 17:37:36,027 - INFO - Training Metrics...
2024-10-25 17:37:36,027 - INFO - {'loss': 0.3824287811523588, 'f1': 73.10432280898554, 'acc': 84.55497002329402, 'precision': 69.8175124672454, 'recall': 84.10886865403342, 'balanced acc': 84.10886865403342}
2024-10-25 17:37:36,027 - INFO - Validation Metrics... Inference time: 377.206
2024-10-25 17:37:36,027 - INFO - {'loss': 0.38358591204764797, 'f1': 75.59488842451518, 'acc': 86.86095911232712, 'precision': 72.87129166363175, 'recall': 84.04586804029876, 'balanced acc': 84.04586804029876}
2024-10-25 17:37:36,027 - INFO - ==================================================
2024-10-25 20:10:56,365 - INFO - Epoch: 60/100. Training time: 1477.874
2024-10-25 20:10:56,383 - INFO - Training Metrics...
2024-10-25 20:10:56,384 - INFO - {'loss': 0.3766782122292542, 'f1': 73.7656380023683, 'acc': 85.15175468744035, 'precision': 70.7184255954931, 'recall': 84.36636069962148, 'balanced acc': 84.36636069962148}
2024-10-25 20:10:56,384 - INFO - Validation Metrics... Inference time: 373.218
2024-10-25 20:10:56,384 - INFO - {'loss': 0.36133691259458955, 'f1': 76.65875946352304, 'acc': 87.82373841009272, 'precision': 73.5471745751419, 'recall': 84.88709802723048, 'balanced acc': 84.88709802723048}
2024-10-25 20:10:56,384 - INFO - ==================================================
2024-10-25 22:44:08,449 - INFO - Epoch: 65/100. Training time: 1475.754
2024-10-25 22:44:08,495 - INFO - Training Metrics...
2024-10-25 22:44:08,495 - INFO - {'loss': 0.37817075261341526, 'f1': 73.78995157506279, 'acc': 85.88729140413184, 'precision': 70.552349390957, 'recall': 83.74842187870316, 'balanced acc': 83.74842187870316}
2024-10-25 22:44:08,495 - INFO - Validation Metrics... Inference time: 361.891
2024-10-25 22:44:08,495 - INFO - {'loss': 0.39989181418044895, 'f1': 75.5603700290821, 'acc': 86.9434944520444, 'precision': 72.0751993889004, 'recall': 84.77624711737988, 'balanced acc': 84.77624711737988}
2024-10-25 22:44:08,495 - INFO - ==================================================
2024-10-28 15:32:52,338 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-28 15:32:54,505 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-28 15:32:54,506 - INFO - Using cuda device
2024-10-28 15:32:54,684 - INFO - Training parameters restored at epoch 61
2024-10-28 18:07:09,409 - INFO - Epoch: 65/100. Training time: 1459.818
2024-10-28 18:07:09,467 - INFO - Training Metrics...
2024-10-28 18:07:09,467 - INFO - {'loss': 0.36243176577713687, 'f1': 74.53026902844319, 'acc': 85.69356932829265, 'precision': 71.19992517756764, 'recall': 85.12724721340152, 'balanced acc': 85.12724721340152}
2024-10-28 18:07:09,467 - INFO - Validation Metrics... Inference time: 372.394
2024-10-28 18:07:09,467 - INFO - {'loss': 0.39533036771942587, 'f1': 75.56858018776379, 'acc': 86.84408724730201, 'precision': 72.2604231468515, 'recall': 84.39806807272758, 'balanced acc': 84.39806807272758}
2024-10-28 18:07:09,467 - INFO - ==================================================
2024-10-28 20:41:19,446 - INFO - Epoch: 70/100. Training time: 1468.387
2024-10-28 20:41:19,505 - INFO - Training Metrics...
2024-10-28 20:41:19,505 - INFO - {'loss': 0.3610479872802208, 'f1': 74.09139660203647, 'acc': 85.68567418948334, 'precision': 70.94352874372952, 'recall': 84.69843985301341, 'balanced acc': 84.69843985301341}
2024-10-28 20:41:19,505 - INFO - Validation Metrics... Inference time: 370.420
2024-10-28 20:41:19,505 - INFO - {'loss': 0.36485838364152345, 'f1': 76.4967852409444, 'acc': 87.81993844049248, 'precision': 73.2970356681515, 'recall': 84.9436199231127, 'balanced acc': 84.9436199231127}
2024-10-28 20:41:19,506 - INFO - ==================================================
2024-10-28 23:13:03,705 - INFO - Epoch: 75/100. Training time: 1428.714
2024-10-28 23:13:03,721 - INFO - Training Metrics...
2024-10-28 23:13:03,721 - INFO - {'loss': 0.3597537013403888, 'f1': 74.35331777033277, 'acc': 85.91792683392522, 'precision': 71.40314748899551, 'recall': 84.2801401513859, 'balanced acc': 84.2801401513859}
2024-10-28 23:13:03,721 - INFO - Validation Metrics... Inference time: 367.796
2024-10-28 23:13:03,721 - INFO - {'loss': 0.38808634818768967, 'f1': 74.99100701095848, 'acc': 86.37691898464811, 'precision': 71.54598120841868, 'recall': 84.18096965431661, 'balanced acc': 84.18096965431661}
2024-10-28 23:13:03,721 - INFO - ==================================================
2024-10-29 14:03:24,947 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-29 14:03:27,324 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-29 14:03:27,324 - INFO - Using cuda device
2024-10-29 14:03:27,442 - INFO - Training parameters restored at epoch 71
2024-10-29 16:38:14,711 - INFO - Epoch: 75/100. Training time: 1479.384
2024-10-29 16:38:14,757 - INFO - Training Metrics...
2024-10-29 16:38:14,758 - INFO - {'loss': 0.354844124593171, 'f1': 74.80188769457028, 'acc': 85.93985088020774, 'precision': 71.44492509267448, 'recall': 85.31667024447512, 'balanced acc': 85.31667024447512}
2024-10-29 16:38:14,758 - INFO - Validation Metrics... Inference time: 371.524
2024-10-29 16:38:14,758 - INFO - {'loss': 0.351707365582971, 'f1': 76.56779601742805, 'acc': 88.01470588235296, 'precision': 73.2561136665677, 'recall': 84.8513860403341, 'balanced acc': 84.8513860403341}
2024-10-29 16:38:14,758 - INFO - ==================================================
2024-10-29 19:12:29,540 - INFO - Epoch: 80/100. Training time: 1470.532
2024-10-29 19:12:29,558 - INFO - Training Metrics...
2024-10-29 19:12:29,559 - INFO - {'loss': 0.35186812105437215, 'f1': 74.39094044645354, 'acc': 86.01240119143085, 'precision': 71.22597550835236, 'recall': 84.84091336163415, 'balanced acc': 84.84091336163415}
2024-10-29 19:12:29,559 - INFO - Validation Metrics... Inference time: 374.416
2024-10-29 19:12:29,559 - INFO - {'loss': 0.37118421436524857, 'f1': 75.81636810656732, 'acc': 87.12471500227997, 'precision': 72.44344023233495, 'recall': 84.46149944909804, 'balanced acc': 84.46149944909804}
2024-10-29 19:12:29,575 - INFO - ==================================================
2024-10-29 21:46:36,397 - INFO - Epoch: 85/100. Training time: 1475.571
2024-10-29 21:46:36,444 - INFO - Training Metrics...
2024-10-29 21:46:36,444 - INFO - {'loss': 0.3563209578321485, 'f1': 74.55640083239558, 'acc': 85.94909210677054, 'precision': 71.41823444118336, 'recall': 84.6656709478886, 'balanced acc': 84.6656709478886}
2024-10-29 21:46:36,444 - INFO - Validation Metrics... Inference time: 369.510
2024-10-29 21:46:36,444 - INFO - {'loss': 0.40126001659561605, 'f1': 75.03349311819886, 'acc': 86.37418300653594, 'precision': 71.31361576268796, 'recall': 84.52406379070179, 'balanced acc': 84.52406379070179}
2024-10-29 21:46:36,444 - INFO - ==================================================
2024-10-30 14:50:25,944 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-30 14:50:28,377 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-30 14:50:28,377 - INFO - Using cuda device
2024-10-30 14:50:28,476 - INFO - Training parameters restored at epoch 79
2024-10-30 15:52:32,011 - INFO - Epoch: 80/100. Training time: 1480.739
2024-10-30 15:52:32,027 - INFO - Training Metrics...
2024-10-30 15:52:32,027 - INFO - {'loss': 0.36126120542657786, 'f1': 74.85902801238551, 'acc': 86.26366613205026, 'precision': 71.65589781935446, 'recall': 84.74999756214487, 'balanced acc': 84.74999756214487}
2024-10-30 15:52:32,027 - INFO - Validation Metrics... Inference time: 370.122
2024-10-30 15:52:32,027 - INFO - {'loss': 0.39335092259388343, 'f1': 75.6922288707933, 'acc': 87.22944216446268, 'precision': 71.95737517801791, 'recall': 84.4509076942286, 'balanced acc': 84.4509076942286}
2024-10-30 15:52:32,027 - INFO - ==================================================
2024-10-30 18:26:38,020 - INFO - Epoch: 85/100. Training time: 1472.875
2024-10-30 18:26:38,129 - INFO - Training Metrics...
2024-10-30 18:26:38,129 - INFO - {'loss': 0.37052284995910567, 'f1': 73.5910526540822, 'acc': 85.85307118035668, 'precision': 70.94370212216626, 'recall': 82.75503578276364, 'balanced acc': 82.75503578276364}
2024-10-30 18:26:38,129 - INFO - Validation Metrics... Inference time: 371.765
2024-10-30 18:26:38,129 - INFO - {'loss': 0.37968745652367086, 'f1': 75.34772155327333, 'acc': 85.8936768505852, 'precision': 72.7844136115836, 'recall': 84.37415927599609, 'balanced acc': 84.37415927599609}
2024-10-30 18:26:38,129 - INFO - ==================================================
2024-10-30 20:59:50,341 - INFO - Epoch: 90/100. Training time: 1468.280
2024-10-30 20:59:50,351 - INFO - Training Metrics...
2024-10-30 20:59:50,351 - INFO - {'loss': 0.3608215668518555, 'f1': 74.92595467912182, 'acc': 86.29073586130524, 'precision': 71.65129096030027, 'recall': 84.93124211633591, 'balanced acc': 84.93124211633591}
2024-10-30 20:59:50,351 - INFO - Validation Metrics... Inference time: 369.762
2024-10-30 20:59:50,387 - INFO - {'loss': 0.38754746610043095, 'f1': 75.08045565815301, 'acc': 85.99654202766378, 'precision': 72.58955797969942, 'recall': 84.79759913406703, 'balanced acc': 84.79759913406703}
2024-10-30 20:59:50,387 - INFO - ==================================================
2024-10-30 23:33:38,196 - INFO - Epoch: 95/100. Training time: 1481.604
2024-10-30 23:33:38,216 - INFO - Training Metrics...
2024-10-30 23:33:38,217 - INFO - {'loss': 0.34894260793483906, 'f1': 74.50450736345647, 'acc': 85.1079734219269, 'precision': 71.16978653731455, 'recall': 85.5094144248183, 'balanced acc': 85.5094144248183}
2024-10-30 23:33:38,217 - INFO - Validation Metrics... Inference time: 375.640
2024-10-30 23:33:38,217 - INFO - {'loss': 0.35953866266736795, 'f1': 75.42803867003524, 'acc': 87.25824593403254, 'precision': 72.3917784335085, 'recall': 83.92850271935089, 'balanced acc': 83.92850271935089}
2024-10-30 23:33:38,217 - INFO - ==================================================
2024-10-31 15:34:47,978 - INFO - Class weights: tensor([0.3590, 6.7659, 2.3083, 1.5778], device='cuda:0')
2024-10-31 15:34:49,879 - INFO - Model architecture:
ImprovedHyperspectralLogisticRegressionModel(
  (spectral_attention): SpectralAttention(
    (fc): Sequential(
      (0): Linear(in_features=1024, out_features=64, bias=True)
      (1): ReLU(inplace=True)
      (2): Linear(in_features=64, out_features=1024, bias=True)
      (3): Sigmoid()
    )
  )
  (linear): Sequential(
    (0): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=1024, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (1): LinearBlock(
      (block): Sequential(
        (0): Linear(in_features=20, out_features=20, bias=True)
        (1): BatchNorm1d(20, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
        (2): LeakyReLU(negative_slope=0.1)
        (3): Dropout(p=0.0, inplace=False)
      )
    )
    (2): Linear(in_features=20, out_features=4, bias=True)
  )
  (logistic): Linear(in_features=4, out_features=4, bias=True)
)
2024-10-31 15:34:49,879 - INFO - Using cuda device
2024-10-31 15:34:50,049 - INFO - Training parameters restored at epoch 87
2024-10-31 17:37:34,890 - INFO - Epoch: 90/100. Training time: 1466.053
2024-10-31 17:37:34,930 - INFO - Training Metrics...
2024-10-31 17:37:34,930 - INFO - {'loss': 0.355955022309214, 'f1': 74.3408138416975, 'acc': 86.1905286974453, 'precision': 71.07580453645735, 'recall': 84.22440369222971, 'balanced acc': 84.22440369222971}
2024-10-31 17:37:34,931 - INFO - Validation Metrics... Inference time: 370.736
2024-10-31 17:37:34,931 - INFO - {'loss': 0.34798263451632333, 'f1': 76.7391653752021, 'acc': 87.78991868065054, 'precision': 73.75880284310594, 'recall': 84.70921949132773, 'balanced acc': 84.70921949132773}
2024-10-31 17:37:34,931 - INFO - ==================================================
2024-10-31 20:10:11,596 - INFO - Epoch: 95/100. Training time: 1463.876
2024-10-31 20:10:11,626 - INFO - Training Metrics...
2024-10-31 20:10:11,626 - INFO - {'loss': 0.3462423815809447, 'f1': 75.21604171771119, 'acc': 86.40653759498989, 'precision': 72.05484439504414, 'recall': 85.32530784216868, 'balanced acc': 85.32530784216868}
2024-10-31 20:10:11,626 - INFO - Validation Metrics... Inference time: 369.029
2024-10-31 20:10:11,626 - INFO - {'loss': 0.3848732610543569, 'f1': 75.35724581344545, 'acc': 86.73024015807874, 'precision': 71.70637754518657, 'recall': 84.24062738805151, 'balanced acc': 84.24062738805151}
2024-10-31 20:10:11,626 - INFO - ==================================================
2024-10-31 22:17:34,016 - INFO - Final test metrics:
{'f1': 77.71192215915977, 'acc': 88.3607881136951, 'precision': 73.89092344863704, 'recall': 86.56212145637241, 'balanced acc': 86.56212145637241}
